package com.gzx.plugin.tjzy.modular.word.mediation.vo;

import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.gzx.plugin.tjzy.modular.word.mediation.entity.GzxWordMediation;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import vip.xiaonuo.common.pojo.CommonEntity;
import vip.xiaonuo.common.sensitive.annotation.Sensitive;
import vip.xiaonuo.common.sensitive.core.SensitiveStrategy;

import java.math.BigDecimal;

/**
 * @author zjt
 * @description
 * @date 2025/3/4 16:34
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = GzxWordMediation.class)
public class GzxWordMediationVo extends CommonEntity {
    /**
     * 自增主键
     */
    private String id;

    /**
     * 模板名称
     */
    private String templateName;

    /**
     * 电话
     */
    private String mediatorPhone;

    private String bankCode;

    /**
     * 欠款人姓名
     */
    private String debtorName;

    /**
     * 被申请人性别
     */
    @Trans(type = TransType.DICTIONARY, key = "Sex", ref = "debtorSexName")
    private String debtorSex;

    private String debtorSexName;

    /**
     * 欠款人身份证号
     */
    @Sensitive(strategy = SensitiveStrategy.ID_CARD)
    private String debtorCardId;

    private String noSensitiveDebtorCardId;

    /**
     * 欠款人手机号
     */
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String debtorPhone;

    private String noSensitiveDebtorPhone;

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 合同开始年
     */
    private String contractStartDate;

    /**
     * 欠款人客户ID
     */
    private String debtorClientId;

    /**
     * 逾期天数
     */
    private Integer overdueDays;

    /**
     * 欠款总额
     */
    private BigDecimal overdueAmount;

    /**
     * 结清金额
     */
    private BigDecimal settlementAmount;

    /**
     * 调解明细（JSON 格式）
     */
    private String detailJson;

    private String caseId;
}
